﻿Public Class frmProductDetail
    Private intHuidigevoorraad As Integer
    Private blnNieuwToegevoegd As Boolean
    Private blnAangepast As Boolean
    Private Sub frmProductDetail_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load


        'TODO: Beter omdat je dan het productnummer uithaald(bij verschillende sortering lopen position en productnummer niet meer gelijk) maar, ?kan slecht 1 productophalen? manier om alle producten beschikbaar te maken (voor wissen;toevoegen etc.)
        Me.ProductenTableAdapter.FillByProductnr(Me.DtsHuidigeVoorraad.Producten, My.Settings.GeslecteerdProductnummer + 1)
        ProductenBindingSource.Position = (My.Settings.GeslecteerdProductnummer)

        lblStatusProductdetail.Text = "Aantal stuks in voorraad van dit product: " + txtVoorraad.Text
    End Sub
    Private Sub ToestaanToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

        txtOmschrijving.ReadOnly = False
        txtProductnaam.ReadOnly = False
        txtProductnr.ReadOnly = False
        txtVoorraad.ReadOnly = False

        OpslaanToolStripMenuItem.Enabled = True
    End Sub

    Private Sub UitToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

        txtOmschrijving.ReadOnly = True
        txtProductnaam.ReadOnly = True
        txtProductnr.ReadOnly = True
        txtVoorraad.ReadOnly = True

        OpslaanToolStripMenuItem.Enabled = False
    End Sub

    Private Sub OpslaanToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OpslaanToolStripMenuItem.Click
        blnAangepast = True
        If blnNieuwToegevoegd Then
            Me.DtsHuidigeVoorraad.Producten.AddProductenRow(txtProductnaam.Text, Integer.Parse(txtVoorraad.Text), "", txtOmschrijving.Text)
            Me.Validate()
            Me.ProductenBindingSource.EndEdit()
            Me.TableAdapterManager.UpdateAll(Me.DtsHuidigeVoorraad)
            frmHuidigevoorraad.RefreshfrmMain()
            OpslaanToolStripMenuItem.Enabled = False
            txtProductnr.Text = (My.Settings.AantalProducten + 1).ToString
            ChkVooraadaanpassen.Checked = False
        Else
            Me.Validate()
            Me.ProductenBindingSource.EndEdit()
            Me.TableAdapterManager.UpdateAll(Me.DtsHuidigeVoorraad)
            frmHuidigevoorraad.RefreshfrmMain()
            OpslaanToolStripMenuItem.Enabled = False
        End If

        ProductenBindingSource.Position = My.Settings.GeslecteerdProductnummer - 1
        ChkVooraadaanpassen.Checked = False
        txtVoorraad.ReadOnly = True
        AnnulerenToolStripMenuItem.Visible = False
        AanpassenToolStripMenuItem.Enabled = True
        ToevoegenMenuStrip.Enabled = True
        BindingNavigatorDeleteItem.Enabled = True
        txtOmschrijving.ReadOnly = True
        txtProductnaam.ReadOnly = True


        lblStatusProductdetail.Text = "De aanpassingen zijn opgeslagen"
        blnAangepast = False
    End Sub

    Private Sub AanpassenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AanpassenToolStripMenuItem.Click
        blnAangepast = True
        'productnaam + omschrijving kunnen aanpassen

        OpslaanToolStripMenuItem.Enabled = True
        txtProductnaam.ReadOnly = False
        AnnulerenToolStripMenuItem.Visible = True
        txtOmschrijving.ReadOnly = False
        ToevoegenMenuStrip.Enabled = False
        BindingNavigatorDeleteItem.Enabled = False

        lblStatusProductdetail.Text = "je bent " + txtProductnaam.Text + " aan het wijzigen"
    End Sub
    Public Sub ProductToevoegen()
        blnAangepast = True
        Dim intAantalProducten As Integer

        intAantalProducten = My.Settings.AantalProducten
        ProductenBindingSource.Position = intAantalProducten + 1

        txtOmschrijving.ReadOnly = False
        txtProductnaam.ReadOnly = False
        AnnulerenToolStripMenuItem.Visible = True
        txtOmschrijving.Clear()
        txtProductnaam.Clear()
        txtVoorraad.Text = 0
        ChkVooraadaanpassen.Checked = False

        blnNieuwToegevoegd = True
        OpslaanToolStripMenuItem.Enabled = True
        txtProductnaam.Focus()

        lblStatusProductdetail.Text = "Je bent een product aan het toevoegen"
    End Sub
    Private Sub BindingNavigatorAddNewItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToevoegenMenuStrip.Click

        ProductToevoegen()

        BindingNavigatorDeleteItem.Visible = False
        AanpassenToolStripMenuItem.Enabled = False
    End Sub

  
    Private Sub BindingNavigatorDeleteItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BindingNavigatorDeleteItem.Click
        'declaratie
        Dim resultaatMelding As DialogResult
        resultaatMelding = MessageBox.Show("ben je zeker dat je deze gegevens wilt verwijderen?", "voorraadbeheer", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2)

        If resultaatMelding = Windows.Forms.DialogResult.Yes Then
            Dim TeVerwijderen As dtsHuidigeVoorraad.ProductenRow
            Dim productnummer As Integer

            productnummer = Integer.Parse(txtProductnr.Text)
            TeVerwijderen = DtsHuidigeVoorraad.Producten.FindByProductnr(productnummer)


            TeVerwijderen.Delete()

            Me.ProductenTableAdapter.Update(Me.DtsHuidigeVoorraad.Producten)

            lblStatusProductdetail.Text = "Het product is verwijderd"
        Else
            Exit Sub
        End If
    End Sub

    Private Sub ChkVooraadaanpassen_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ChkVooraadaanpassen.CheckedChanged

        If ChkVooraadaanpassen.Checked = True Then
            intHuidigevoorraad = Integer.Parse(txtVoorraad.Text)
            txtVoorraad.ReadOnly = False
            OpslaanToolStripMenuItem.Enabled = True
            ChkVooraadaanpassen.Text = "je kan de voorraad aanpassen!"
            txtVoorraad.Focus()

        Else
            txtVoorraad.Text = intHuidigevoorraad.ToString
            txtVoorraad.ReadOnly = True
            OpslaanToolStripMenuItem.Enabled = False
            ChkVooraadaanpassen.Text = "Voorraad aanpassen"
        End If
    End Sub

    Private Sub SluitenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SluitenToolStripMenuItem.Click
        If blnAangepast = True Then
            Dim intAntwoord As Integer
            intAntwoord = MessageBox.Show("Weet u zeker dat u dit scherm wilt sluiten?" & vbNewLine & "Wijzigingen worden niet automatisch opgeslagen.", "Waarschuwing", MessageBoxButtons.YesNo)

            If intAntwoord = 6 Then
                Me.Close()
            End If
        Else
            Dim intAntwoord As Integer
            intAntwoord = MessageBox.Show("Weet u zeker dat u dit scherm wilt sluiten?", "Waarschuwing", MessageBoxButtons.YesNo)

            If intAntwoord = 6 Then
                Me.Close()
            End If
        End If
    End Sub

    Private Sub txtVoorraad_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtVoorraad.GotFocus
        If ChkVooraadaanpassen.Checked = False Then
            txtOmschrijving.Focus()
        End If
    End Sub

    Private Sub AnnulerenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AnnulerenToolStripMenuItem.Click
        Me.ProductenTableAdapter.Fill(Me.DtsHuidigeVoorraad.Producten)
        AnnulerenToolStripMenuItem.Visible = False
        AanpassenToolStripMenuItem.Enabled = True
        ToevoegenMenuStrip.Enabled = True
        BindingNavigatorDeleteItem.Enabled = True
        ChkVooraadaanpassen.Checked = False
    End Sub
End Class
